package com.alameda.api.menu;

import com.alameda.commonpent.mp.BaseService;
import com.alameda.menu.dto.MenuDTO;
import com.alameda.menu.pojo.MenuDO;
import com.alameda.menu.vo.MenuVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * 菜单 业务逻辑层
 *
 * @author Lv
 * @date 2024/05/09
 */
public interface MenuService extends BaseService<MenuDO> {
    /**
     * 读取菜单树
     *
     * @return
     */
    List<MenuVO> loadMenu();

    /**
     * 读取菜单信息列表
     *
     * @param menuDTO 菜单数据传递对象
     * @return
     */
    IPage<MenuVO> listMenuInfo(MenuDTO menuDTO);

    /**
     * 导出excel
     *
     * @param menuDTO 菜单数据传递对象
     */
    void export(MenuDTO menuDTO);

    /**
     * 导出菜单json
     */
    void exportMenu();

    /**
     * 删除菜单
     *
     * @param idList 菜单id集合
     * @return
     */
    Boolean removeByIdList(List<Long> idList);
}
